package body v8.Class_Signature is



   function Create
     (receiver : v8.Class_Function_Template.Pointer := null
     ) return Pointer
   is
      function Invoke
        (receiver : v8.Class_Function_Template.Pointer;
         argc     : Integer := 0;
         argv     : System.Address := Null_Address
        ) return Pointer;
      pragma Import (CPP, Invoke, "_ZN2v89Signature3NewENS_6HandleINS_16FunctionTemplateEEEiPS3_");
   begin
      return Invoke(receiver);
   end Create;
   pragma Inline(Create);


   function Create
     (receiver : v8.Class_Function_Template.Pointer := null;
      args     : v8.Class_Function_Template.Function_Template_Array
     ) return Pointer
   is
      function Invoke
        (receiver : v8.Class_Function_Template.Pointer;
         argc     : Integer;
         argv     : v8.Class_Function_Template.Function_Template_Array
        ) return Pointer;
      pragma Import (CPP, Invoke, "_ZN2v89Signature3NewENS_6HandleINS_16FunctionTemplateEEEiPS3_");
   begin
      return Invoke(receiver, args'Length, args);
   end Create;
   pragma Inline (Create);

end v8.Class_Signature;
